package com.v2.k13;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 测试@Value
 * 该注解可以三种写法：
 * 1,2. 该注解的作用是将我们配置文件的属性读出来，有@Value(“${}”)和@Value(“#{}”)两种方式
 * 3. 还能直接赋值字符串和数值
 *
 * @Value的值有两类：
 * ① ${ property : default_value }
 * ② #{ obj.property? :default_value }
 * 第一个注入的是外部配置文件对应的property，第二个则是SpEL表达式对应的内容。 那个
 * default_value，就是前面的值为空时的默认值。注意二者的不同，#{}里面那个obj代表对象。
 * ————————————————
 * 版权声明：本文为CSDN博主「菊花超人」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
 * 原文链接：https://blog.csdn.net/woheniccc/article/details/79804600
 */
public class Test {

	public static void main(String[] args) {

		AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
		User user = (User)applicationContext.getBean("user");
		System.out.println(user);
		System.out.println(user.userName);
		System.out.println(user.homeTown);

		System.out.println(applicationContext.getBean("kzx1"));


	}

}
